package cn.miju.admin.system.service;

import cn.miju.admin.framework.model.BaseInfo;
import cn.miju.admin.framework.model.BasePage;
import cn.miju.admin.system.vo.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * <pre>
 * 角色管理
 * </pre>
 *
 * @author zhuming
 * @version 1.0.0
 * @since 2023-04-03 14:45
 */
public interface RoleService {
    /**
     * 角色分页查询
     * @param inVO {@link RolePageInVO}
     * @return {@link Page<RolePageOutVO>}
     */
    Page<RolePageOutVO> getPage(RolePageInVO inVO);

    /**
     * 保存角色信息
     * @param inVO {@link RoleSaveInVO}
     */
    void save(RoleSaveInVO inVO);

    /**
     * 批量删除角色
     * @param inVO {@link RoleDeleteInVO}
     */
    void deletes(RoleDeleteInVO inVO);

    /**
     * 获取角色树
     * @return {@link List<RoleTreeOutVO>}
     */
    List<RoleTreeOutVO> getTree();
}
